/**
 * 转换粘贴板excel数据为 二维数组 [[]]
 * <pre>
 * 	页面需提供表格行模板，如：tableId="abc"，
 * 模板ID="abcTemplate"，模版tbody的tr内容与数据表格的行相同。
 * 本函数采用克隆方式生成表格行。
 * created by luxf
 * </pre>
 * @param tableId 表格ID
 * @param callback 回调函数
 */
function parseExcelToTableText(tableId, validationFn, callback)
{
	var clipboardDate_ = window.clipboardData.getData("text");
	if (!clipboardDate_) {
		alert('对不起，Excel剪贴板中没有内容!');
		return;
	}
	// 解析excel数据
	var rows = clipboardDate_.split('\r\n');
	var parseDatas = [];
	$.each(rows, function(index, item){
		if (item != ''){
			var cols = item.split('\t');
			parseDatas.push(cols);
		}
	});
	// 校验解析数据有效性
	// 校验数据有效性
	if (parseDatas.length == 0)
	{
		alert('请先复制数据！');
		return false;
	}
	if (validationFn)
		if (!validationFn(parseDatas))
			return;
	// 填入数据并插入表单
	$.each(parseDatas, function(index ,item){
		var trCount =  $('#' + tableId + ' tbody tr').length;
		if (index > trCount - 1)
		{
			var trs = $('#' + tableId + ' tbody tr');
			var cloneTr;
			
			// 克隆表格行，如果表格无行则尝试从模板克隆
			if (trs.length > 0)
				cloneTr = $(trs[0]).clone();
			else {
				cloneTr = $($('#' + tableId + 'Template tbody tr')[0]).clone();
				if (!cloneTr[0]) {
					alert('出错了，找不到对应的模板');
					return;
				}
			}

			
			$('#' + tableId + ' tbody').append(cloneTr);
			$(':text', cloneTr).each(function(i, item){
				this.value = parseDatas[index][i] || '';
			});			
			$('td:eq(0)', cloneTr).text(index + 1);
		} else
		{
			$(':text', $('#' + tableId + ' tbody tr:eq(' + index + ')')).each(function(i, item){
				this.value = parseDatas[index][i] || '';
			});

			$('td:eq(0)',  $('#' + tableId + ' tbody tr:eq(' + index + ')')).text(index + 1);
		}
	});
	// 回调函数
	callback($('#' + tableId), parseDatas);
}